package com.crm.service.csd.customerManager;

import com.crm.model.entity.csd.customerManager.*;
import com.crm.model.entity.customerManager.Customer;
import com.crm.model.qo.csd.customerManager.CustomerQO;
import com.crm.model.vo.csd.customerManager.CustomerDetailVO;
import com.crm.model.vo.csd.customerManager.CustomerMemberCardDetailVO;
import com.crm.model.vo.csd.customerManager.CustomerVO;
import com.crm.model.vo.csd.customerManager.MemberCardDetailVO;

import java.util.List;

/**
 * @author baijian
 * @Date 2021/7/23 11:11
 * (客服部)-客户管理-会员卡详情
 */
public interface CustomerMemberCardDetailDbService {

    /**
     * 会员卡详细信息
     * @param customerProductDetailMemberCardId 会员卡id
     * @author  baijian
     * @return
     */
    CustomerMemberCardDetailVO selectCustomerCardDetail(String customerProductDetailMemberCardId);

    /**
     * 新增刷卡记录
     * @param swiping 刷卡记录
     * @author  baijian
     * @return
     */
    Boolean addCustomerMemberCardDetailSwipingRecord(CustomerMemberCardDetailSwipingRecord swiping);

    /**
     * 视频观看记录
     * @param video 视频
     * @author  baijian
     * @return
     */
    Boolean addCustomerMemberCardDetailVideoViewingRecord(CustomerMemberCardDetailVideoViewingRecord video);

    /**
     *会员卡服务明细
     * @param customerMemberCardDetail 会员卡服务明细
     * @author  baijian
     */
    Boolean addCustomerMemberCardDetail(CustomerMemberCardDetail customerMemberCardDetail);

    /**
     * 电话答疑拨打记录
     * @param phoneAnswering 电话答疑拨打
     * @author  baijian
     */
    Boolean addCustomerMemberCardDetailPhoneAnsweringRecord(CustomerMemberCardDetailPhoneAnsweringRecord phoneAnswering);

    /**
     * 直播购买记录
     * @param zb 直播
     * @author  baijian
     */
    Boolean addCustomerMemberCardDetailLivePurchaseRecord(CustomerMemberCardDetailLivePurchaseRecord zb);

    /**
     * 点播购买记录
     * @param db 点播购买
     * @author  baijian
     * @return
     */
    Boolean addCustomerMemberCardDetailDemandPurchaseRecord(CustomerMemberCardDetailDemandPurchaseRecord db);

    /**
     * 直播报名预约
     * @param appointment 直播报名预约
     * @author  baijian
     */
    Boolean addCustomerMemberCardDetailLiveSignatureAppointment(CustomerMemberCardDetailLiveSignatureAppointment appointment);

    /**
     * 会员卡明细修改
     * @param customerMemberCardDetail 会员卡明细
     * @author  baijian
     */
    Boolean updateCustomerMemberCardDetail(CustomerMemberCardDetail customerMemberCardDetail);

    /**
     * 通过会员卡id查询会员卡明细
     * @param customerProductDetailMemberCardId 会员卡id
     * @author  baijian
     * @return
     */
    CustomerMemberCardDetail selectCustomerMemberCardDetail(String customerProductDetailMemberCardId);

    /**
     * 刷卡记录
     * @param customerProductDetailMemberCardId 会员卡id
     * @author  baijian
     * @return
     */
    List<CustomerMemberCardDetailSwipingRecord> selectCustomerMemberCardDetailSwipingRecord(String customerProductDetailMemberCardId);

    /**
     * 视频观看记录
     * @param customerProductDetailMemberCardId 会员卡id
     * @author baijian
     * @return
     */
    List<CustomerMemberCardDetailVideoViewingRecord> selectCustomerMemberCardDetailVideoViewingRecord(String customerProductDetailMemberCardId);

    /**
     * 电话答疑拨打记录
     * @param customerProductDetailMemberCardId 会员卡id
     * @author baijian
     * @return
     */
    List<CustomerMemberCardDetailPhoneAnsweringRecord> selectCustomerMemberCardDetailPhoneAnsweringRecord(String customerProductDetailMemberCardId);

    /**
     * 直播报名预约
     * @param customerProductDetailMemberCardId 会员卡id
     * @author baijian
     * @return
     */
    List<CustomerMemberCardDetailLiveSignatureAppointment> selectCustomerMemberCardDetailLiveSignatureAppointment(String customerProductDetailMemberCardId);

    /**
     * 直播购买记录
     * @param customerProductDetailMemberCardId 会员卡id
     * @author baijian
     * @return
     */
    List<CustomerMemberCardDetailLivePurchaseRecord> selectCustomerMemberCardDetailLivePurchaseRecord(String customerProductDetailMemberCardId);

    /**
     * 点播购买记录
     * @param customerProductDetailMemberCardId 会员卡id
     * @author baijian
     * @return
     */
    List<CustomerMemberCardDetailDemandPurchaseRecord> selectCustomerMemberCardDetailDemandPurchaseRecord(String customerProductDetailMemberCardId);

    /**
     * 修改刷卡记录
     * @param skjl 刷卡记录
     * @author baijian
     */
    Boolean updateCustomerMemberCardDetailSwipingRecord(CustomerMemberCardDetailSwipingRecord skjl);

    /**
     * 修改视频观看记录
     * @param video 视频观看记录
     * @author baijian
     */
    Boolean updateCustomerMemberCardDetailVideoViewingRecord(CustomerMemberCardDetailVideoViewingRecord video);

    /**
     * 修改电话答疑拨打记录
     * @param dhdybd 电话答疑拨打记录
     * @author baijian
     */
    Boolean updateCustomerMemberCardDetailPhoneAnsweringRecord(CustomerMemberCardDetailPhoneAnsweringRecord dhdybd);

    /**
     * 修改直播报名预约
     * @param zbbmyy 直播报名预约
     * @author baijian
     */
    Boolean updateCustomerMemberCardDetailLiveSignatureAppointment(CustomerMemberCardDetailLiveSignatureAppointment zbbmyy);

    /**
     * 修改直播购买记录
     * @param zbgmjl 直播购买记录
     * @author baijian
     */
    Boolean updateCustomerMemberCardDetailLivePurchaseRecord(CustomerMemberCardDetailLivePurchaseRecord zbgmjl);

    /**
     * 修改点播购买记录
     * @param dbgmjl 点播购买记录
     * @author baijian
     */
    Boolean updateCustomerMemberCardDetailDemandPurchaseRecord(CustomerMemberCardDetailDemandPurchaseRecord dbgmjl);

    /**
     * 查询会员卡明细
     * @param customerProductDetailMemberCardId 会员卡id
     * @return
     */
    MemberCardDetailVO selectMemberCardDetail(String customerProductDetailMemberCardId);
}
